var express = require('express');

const {
    get,
    getCinemas,
    addTheaters,
    delSeats,
    getOne,
    changeOne,
    getAllInfo,
    select,
    creatSeats
} = require("../api/theaters")
var router = express.Router(); // 路由
// 获取影厅数据，类型为get类型 参数为前页和每页显示条数
router.get('/', async function (req, res, next) {
    // 解构当前页和每页显示条数
    const {
        curPage,
        eachPage
    } = req.query;
    const data = await get({
        curPage,
        eachPage
    });
    res.send(data);
});
// 获取影院数据，类型为get类型
router.get('/cinemas', async function (req, res, next) {
    // 获取影院全部数据
    const data = await getCinemas();
    res.send(data);
});

// 新增影院信息 接受的参数是影院cinemasId，影厅名字theatersName，影厅是否营业theatersStatus
router.post('/', async function (req, res, next) {
    // 获取要添加的放映厅全部数据
    const {
        cinemasId,
        theatersName,
        theatersStatus
    } = req.body;
    const data = await addTheaters({
        cinemasId,
        theatersName,
        theatersStatus
    });
    if (data) {
         // 传入新增影厅的id
         const {
            _id
        } = data;
        // 新建关联座位 传入新增过后的影厅id参数
        await creatSeats({
            _id
        })
        res.send(data);
       

    } else {
        res.send(data);
    }

});
// 删除一个影院 接受参数是这个影院的_id值
router.delete('/:_id', async function (req, res, next) {
    // 获取要删除放映厅的id值
    const {
        _id
    } = req.params;

    const data = await delSeats({
        _id
    });
    res.send(data);
});
// 获取一个影厅的所有数据，接受参数是一个 id值
router.get('/theaters/:_id', async function (req, res, next) {
    // 获取放映厅的id值
    console.log("in");
    const {
        _id
    } = req.params;

    const data = await getOne({
        _id
    });
    res.send(data);
});
// 更新一个影厅数据，接受参数是一个id值 和其他字段的所有参数
router.put('/:_id', async function (req, res, next) {
    // 获取放映厅的id值
    const {
        _id
    } = req.params;
    // 获取修改过后的数据
    const {
        cinemasId,
        theatersName,
        theatersStatus
    } = req.body
    const data = await changeOne({
        _id,
        cinemasId,
        theatersName,
        theatersStatus
    });
    res.send(data);
});

// 获取要查询的类型和值 接受参数是一个键值对  键名是option 键名对应的值
router.get("/allCinemas", async function (req, res, next) {
    const data = await getCinemas()
    res.send(data);
});
// 获取查询的字段对应的字段名  接受参数是一个{option,seleValue}
router.get("/select", async function (req, res, next) {
    const enterData = req.query
    const data = await select(enterData);
    res.send(data);
});

module.exports = router;